package part11_模板模式_豆浆制作问题.p01_普通;

/**
 * @ClassName: SoyaMilk
 * @Author: AllenSun
 * @Date: 2020/3/4 22:43
 */
public abstract class SoyaMilk {

    //模板方法，模板方法可以做成final，不让子类去覆盖
    final void make(){
        select();
        addCondiments();
        soak();
        beat();
    }

    //1-选材料
    void select(){
        System.out.println("第一步：选择好的新鲜的黄豆");
    }

    //2-添加不同的配料，抽象方法，子类具体实现
    abstract void addCondiments();

    //3-浸泡
    void soak(){
        System.out.println("第三步：黄豆和配料开始浸泡，需要3小时");
    }

    //4-打磨
    void beat(){
        System.out.println("第四步：黄豆和配料放到豆浆机去打磨");
    }
}
